package com.cbh.feign.controller.user;



import java.util.List;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.cbh.api.model.ApiResult;
import com.cbh.api.model.user.User;
import com.github.pagehelper.PageInfo;

public interface AuthentificationControllerBase {

	@RequestMapping(value = "/auth/v1/app/authentification", method = RequestMethod.POST)
	public ApiResult<AuthentificationControllerBase> atfct(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1,
			@RequestParam(value = "realName", required = true) String realName,
			@RequestParam(value = "IdCard", required = true) String IdCard,
			@RequestParam(value = "BkCard", required = true) String BkCard,
			@RequestParam(value = "Bkname", required = true) String Bkname,
			@RequestParam(value = "EdPhoto", required = true) String EdPhoto,
			@RequestParam(value = "atfctid", required = false) String atfctid);

	@RequestMapping(value = "/auth/v1/app/authentification/GetAllAtfct", method = RequestMethod.GET)
	public ApiResult<List<AuthentificationControllerBase>> GetAllAtfct(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1);

	@RequestMapping(value = "/auth/v1/app/authentification/GetAllAtfctUser", method = RequestMethod.POST)
	public ApiResult<PageInfo<AuthentificationControllerBase>> GetAllAtfctUser(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1,
			@RequestParam(value = "keyValue", required = false) String keyValue,
			@RequestParam(value = "userName", required = false) String userName,
			@RequestParam(value = "phoneNumber", required = false) String phoneNumber,
			@RequestParam(value = "realName", required = false) String realName,
			@RequestParam(value = "IdCard", required = false) String IdCard,
			@RequestParam(value = "auditStatus", required = false) String auditStatus,
			@RequestParam(value = "startLine", required = false) Integer startLine,
			@RequestParam(value = "endLine", required = false) Integer endLine);

	@RequestMapping(value = "/auth/v1/app/authentification/GetAtfctByMine", method = RequestMethod.GET)
	public ApiResult<AuthentificationControllerBase> GetAtfctByMine(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1);

	@RequestMapping(value = "/auth/v1/app/authentification/GetAtfctByAccount", method = RequestMethod.GET)
	public ApiResult<AuthentificationControllerBase> GetAtfctByAccount(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1,
			@RequestParam(value = "account", required = true) String account);

	@RequestMapping(value = "/auth/v1/app/authentification/AuditInformation", method = RequestMethod.POST)
	public ApiResult<String> AuditInformation(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1,
			@RequestParam(value = "authentificationId", required = true) String authentificationId,
			@RequestParam(value = "auditStatus", required = true) String auditStatus,
			@RequestParam(value = "auditAdvice", required = true) String auditAdvice);

	@RequestMapping(value = "/auth/v1/app/authentification/GetByAuditStatus", method = RequestMethod.GET)
	public ApiResult<List<AuthentificationControllerBase>> GetByAuditStatus(
			@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1,
			@RequestParam(value = "auditStatus", required = true) String auditStatus);

	@RequestMapping(value = "/auth/v1/app/authentification/sss", method = RequestMethod.POST, produces = "application/json")
	public ApiResult<String> ss(@RequestHeader(value = "accountToken", required = false) String accountToken,
			@RequestParam(value = "accountToken", required = false) String accountToken1, @RequestBody User user);

}
